For a human being it can be very difficult or even impossible to configure systems comprising devices and data transfer links therebetween so that it would be possible to control and utilise all or at least a significant portion of available devices and services through a user's terminal, i.e. a controller device, because the number of devices and supported services in such systems is continuously increasing. Especially in conjunction with wireless systems in which devices may leave and join the system quite freely, it is challenging to maintain up-to-date configuration and thus to keep the controller device capable of controlling and using available services and devices. Even though it were possible for a human being to configure a wireless system so that it is possible to control and utilise the available devices and services in a satisfactory manner at a certain instant of time, this would probably not be the case after a while because some wireless data transfer connections would be lost during changing situations and then also the devices and services related to those data transfer connections would not be reachable any more. Therefore, also the interaction between a wireless system and a user of the wireless system may be non-optimal or even problematic, because usually the user's terminal, i.e. the controller device, does not know all the available services provided by the wireless system when the user is using the wireless system. These issues are a subset of a general research challenge called as a complexity explosion, which is still under intensive research and open for novel technical solutions. Due to the above-presented reasons, there is a need for technical solutions which allow automated configuration of devices of wireless systems during changing situations.
There exist a number of technical solutions such as, for example, DNS (Domain Name System) and DHCP (Dynamic Host Configuration Protocol) for identifying names and addresses of devices dynamically joining a wireless system. There exists also a large set of service discovery protocols such as, for example, SLP (Service Location Protocol), UPnP (Universal Plug and Play), Jini (also called Apache River), Bluetooth, and SDP (Service Delivery Platform). The existing technical solutions do not solve the above described problems sufficiently well in all situations because of the inherent dynamics of wireless systems, temporarily missing support from the network infrastructure, e.g breaks in the access to the Internet, occasionally missing presence of devices and services, and very weak support by users of the wireless system.
Publication WO2009008578 discloses a method for configuring a remote controller for a universal plug and play device in a home network. The method is based on constructing a user interface configuration on the basis of functionality of the universal plug and play device and sending the user interface configuration to the remote controller. An inconvenience of the method is that only such user interface configurations can be used which are supported by the existing software and hardware of the remote controller.
Publication US2007130476 discloses a remote controller that operates a user interface specific to a particular target application or device. The remote controller receives information regarding the status or operation of the target application or device, and uses this information to determine information and control options to be presented to a user of the remote controller. The user views the information regarding the target application, and selects desired control actions from among the available control options. The remote controller generates a message according to the performed control actions, and transmits the message to the target device. The target device acts responsive to the control message. The remote controller can provide only such user interfaces which are supported by the existing software and hardware of the remote controller.
Publication WO0209106 discloses a method for providing a user interface in a remote controller. The remote controller receives a user interface description from a data transfer network and displays a user interface based on the user interface description. The remote controller can provide only such user interfaces which are supported by the existing software and hardware of the remote controller.